// addRoutes.js
// 1️⃣ 用 glob 一次性把所有 .vue 文件拿回来
const modules = import.meta.glob('/src/views/**/*.vue')

export default function addDynamicRoutes(router, menus) {
  console.log('menus',menus)
  menus.forEach(menu => {
    // 一级列表
    // 本身就是一级路由（没有 children）
    if (!menu.children) {
      const key = `/src/views/${menu.component}.vue`
      const importer = modules[key]
      if (!importer) {
        console.error('找不到组件：', key)
        return
      }
      // 直接挂到 Layout 下，path 就是一级
      router.addRoute('Layout', {
        path: menu.path,
        name: menu.name,
        component: importer,
        meta: menu.meta
      })
      return
    }

    menu.children?.forEach(child => {
      // 拼出完整 key：/src/views/xxx/xxx.vue
      const key = `/src/views/${child.component}.vue`
      const importer = modules[key]

      if (!importer) {
        console.error('找不到组件：', key)
        return
      }

      router.addRoute('Layout', {
        path: child.path,
        name: child.name,
        component: importer,   // ✅ 已经是合法的懒加载组件
        meta: child.meta
      })
    })
  })
}